package com.snake;

import java.awt.Color;
import java.util.ResourceBundle;

// 常量
class Const {
    // 格
    public static final int GRID_SIZE = 16;                                                     // 尺寸
    
    // 游戏区域
    public static final int GAME_BOARD_GRID_COUNT_H = 20;                                       // 横向格数
    public static final int GAME_BOARD_GRID_COUNT_V = 22;                                       // 纵向格数
    public static final int GAME_BOARD_WIDTH = GRID_SIZE * GAME_BOARD_GRID_COUNT_H;             // 宽度
    public static final int GAME_BOARD_HEIGHT = GRID_SIZE * GAME_BOARD_GRID_COUNT_V;            // 高度
    public static final Color GAME_BOARD_COLOR = Color.BLACK;                                   // 背景色
    
    // 定时器
    public static final int TIMER_INIT = 500;                                                   // 初始间隔值，单位毫秒
    public static final int TIMER_GROW = 50;                                                    // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数
    
    // 难度
    public static final int DIFF_BASE = 5;                                                      // 基数。分数每达到此数的整数倍时，难度增加
    public static final int DIFF_MAX = 10;                                                      // 最大值。难度达到此数后不再增加
    
    // 胜利数
    public static final int WIN_NUMBER = DIFF_BASE * DIFF_MAX;                                  // 达到此数胜利
    
    // 蛇
    public static final Color SNAKE_COLOR = Color.GREEN;                                        // 颜色
    
    // 果子
    public static final Color APPLE_COLOR = Color.RED;                                          // 颜色
    
    // 状态栏
    public static final int STATUS_BAR_PART_COUNT = 2;                                          // 格数   

    // 音乐
    public static final String MUSIC_FILE_NAME = "./res/music.wav";                             // 文件名
    
    // 主窗口
    public static final int WIDTH = 336;                                                        // 宽度
    public static final int HEIGHT = 463;                                                       // 高度
    
    // 其它
    private static final ResourceBundle RESOURCE = ResourceBundle.getBundle("language_zh_CN");  // 字符串资源
    
    /**
     * 获取字符串。
     * @param id   字符串 id
     * @return 字符串
     */
    public static String getString(String id) {
        return RESOURCE.getString(id);
    }
}
